Method and apparatus for transmitting and receiving application/content based on purchase information

ABSTRACT

A method and apparatus for sharing information regarding a purchase result between a plurality of clients and receiving at least one of an application and content from a server based on the shared information regarding the purchase result. The method includes receiving information regarding a purchase result of the at least one of the application and the content from a second client; transmitting the information regarding the purchase result and device information of the first client to a server providing the at least one of the application and the content; and receiving the at least one of the application and the content from the server in response to the transmission.

PRIORITY

This application claims priority under 35 U.S.C. §119(a) to KoreanPatent Application No. 10-2010-0022430, filed on Mar. 12, 2010, and ofKorean Patent Application No. 10-2011-0017300, field on Feb. 25, 2011,in the Korean Intellectual Property Office, the entire contents of whichare incorporated herein by reference.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention generally relates to a method and apparatus fortransmitting and receiving an application or content, and moreparticularly, to a method and apparatus for receiving, by a client, theapplication or content from a server.

2. Description of the Related Art

Internet services in which a developer freely develops and sells anapplication, such as an application store, for example, which canoperate on specific software platforms based on developer kits, aregaining in popularity. Accordingly, there has been increasing interestin methods for purchasing, transmitting, and receiving applicationsthrough such services.

SUMMARY OF THE INVENTION

The present invention provides a method and apparatus for transmittingand receiving an application or content between a client and anapplication server, and a computer-readable recording medium that storesa computer-readable program for executing the method.

According to an aspect of the present invention, a method for receiving,by a client, at least one of an application and content is provided. Themethod includes receiving information regarding a purchase result of theat least one of the application and the content from a second client;transmitting the information regarding the purchase result and deviceinformation of the first client to a server providing the at least oneof application and the content; and receiving the at least one of theapplication and the content from the server in response to thetransmission.

According to another aspect of the present invention, a method forproviding at least one of an application and content by a server isprovided. The method includes receiving, from a first client,information regarding a purchase result of the at least one of theapplication and the content and device information of the first client,which has received the information regarding the purchase result from asecond client; and transmitting the at least one of the application andthe content to the first client in response to the received information.

According to another aspect of the present invention, an apparatus forreceiving, by a first client, at least one of an application and contentis provided. The apparatus includes a purchase information managementunit for receiving, from a second client, information regarding apurchase result of the at least one of the application and the content;and an application/content management unit for transmitting theinformation regarding the purchase result and device information of thefirst client to a server and receiving the at least one of theapplication and the content from the server in response to thetransmission.

According to another aspect of the present invention, an apparatus forproviding, by a server, at least one of an application and content isprovided. The apparatus includes a purchase information management unitfor receiving information regarding a purchase result regarding the atleast one of the application and the content from a first client thathas received the information regarding the purchase result from a secondclient; and a providing unit for transmitting the at least one of theapplication and the content to the first client based on the informationregarding the purchase result and device information of the firstclient.

BRIEF DESCRIPTION OF THE DRAWINGS

The above and other features and advantages of the present inventionwill become more apparent by describing in detail embodiments thereofwith reference to the attached drawings in which:

FIG. 1 is a signaling diagram illustrating a method for transmitting andreceiving at least one of an application and content, according to anembodiment of the present invention;

FIG. 2 is a block diagram illustrating a method for generating anapplication, according to an embodiment of the present invention;

FIG. 3 is a signaling diagram illustrating a method for transmitting andreceiving at least one of an application and content according toanother embodiment of the present invention;

FIG. 4 is a signaling diagram illustrating a method for transmitting andreceiving at least one of an application and content according toanother embodiment of the present invention;

FIG. 5 is a signaling diagram illustrating a method for transmitting andreceiving at least one of an application and content according toanother embodiment of the present invention;

FIG. 6 is a block diagram illustrating an apparatus for receiving atleast one of an application and content in a client, according to anembodiment of the present invention;

FIG. 7 is a block diagram illustrating an apparatus for providing atleast one of an application and a content in a server, according to anembodiment of the present invention; and

FIG. 8 is a block diagram illustrating a server for purchasing at leastone of an application and content and a server for providing at leastone of the application and content, according to an embodiment of thepresent invention.

DETAILED DESCRIPTION OF EMBODIMENTS OF THE INVENTION

Embodiments of the present invention are described in detail as followswith reference to the accompanying drawings. In the followingdescription, specific details such as detailed configuration andcomponents are merely provided to assist the overall understanding ofembodiments of the present invention. Therefore, it should be apparentto those skilled in the art that various changes and modifications ofthe embodiments described herein can be made without departing from thescope and spirit of the invention. In addition, descriptions ofwell-known functions and constructions are omitted for clarity andconciseness.

FIG. 1 is a signaling diagram illustrating a method for transmitting andreceiving an application or content, according to an embodiment of thepresent invention.

Referring to FIG. 1, in step 110, a first client 10 accesses a server 11to purchase and receive an application or content. A user of the firstclient 10 may access the server 11 by logging in with an account thatthe user has registered in the server 11. Herein, the term “application”refers to software that can be installed in and driven by the firstclient 10, whereas the term “content” refers to multimedia data that canbe reproduced by the first client 10. Various types of content includesan e-book file, a music file, a motion picture file, a still image file,etc.

In step 120, the first client 10 selects and purchases an application orcontent provided by the server 11. The first client 10 requests for andreceives, from the server 11, a list of applications and/or contentprovided by the server 11, and displays the list to the user of thefirst client 10. The user of the first client 10 may select apredetermined application or predetermined content from the displayedlist through a predetermined input device. If the user of the firstclient 10 selects a predetermined application or predetermined content,procedures for payment settlement of the selected application or contentare performed, and the user of the first client 10 may purchase theselected application or content through various payment settlementmethods.

When the first client 10 accesses the server 11 in step 110, deviceinformation of the first client 10 may be transmitted to the server 11.In this case, when the application is purchased in step 120, the server11 may transmit a list of applications that can be installed in anddriven by the first client 10, and/or a list of contents that can bereproduced by the first client 10, to the first client 10 with referenceto the device information of the first client 10, which has beenreceived in step 110.

According to another embodiment of the present invention, the firstclient 10 may transmit the device information of the first client 10 tothe server 11 when the first client 10 starts the purchase of theselected application or content in step 120, and the server 11 maytransmit the list of applications that can be installed in and driven bythe first client 10, or the list of contents that can be reproduced bythe first client 10, to the first client 10 with reference to thereceived device information.

The device information of the first client 10 may include informationregarding hardware and software influencing installation and driving ofthe application or reproduction of the content, such as informationregarding an Operating System (OS) of the first client 10, informationregarding a Central Processing Unit (CPU) of the client 10, andinformation regarding a memory. The information regarding hardware mayinclude information of the first client 10 indicating a displayresolution, supporting languages, support/non-support of a GlobalPositioning System (GPS), and support/non-support of 3-dimensionalgraphic acceleration.

In step 130, the server 11 transmits information regarding a result ofthe purchase performed in step 120 to the first client 10. Theinformation regarding the purchase result may include informationindicating an identifier of the application or the content purchased bythe first client 10 and a user account used in the purchase. Theinformation regarding the purchase result may also include allinformation for verifying that the user of the first client 10 haspurchased the application or the content through proper procedures.

If the first client 10 has purchased the content, the informationregarding the purchase result may be included in a content descriptionthat defines the purchased content in detail. The information regardingthe purchase result may be included in the content description, whichincludes, in addition to the identifier of the content, metadata fordefining the content, such as a Uniform Resource Locator (URL) of thecontent, and the server 11 may transmit the content description to thefirst client 10 in step 130.

In step 140, the first client 10 requests, based on the informationreceived in step 130, the server 11 to transmit the purchasedapplication or content. That is, when the information regarding thepurchase result, which was received in step 130, is transmitted from theserver 11, the first client 10 requests for transmission of theapplication or the content purchased in step 120. When the first client10 has purchased the content and received content description in step130, the first client 10 may request transmission of the content bytransmitting the content description to the server 11.

According to an alternative embodiment of the present invention, thedevice information of the first client 10 may be transmitted along withthe request for transmission of the content in step 140, instead of instep 110 or 120.

In step 150, the server 11 generates the application or contentsrequested in step 140. In detail, the server 11 generates the requestedapplication or content with reference to the received device informationof the first client 10, so that, when an application is requested, therequested application can be installed in and driven by the first client10, or, when content is requested, the requested content can bereproduced by the first client 10.

The generated application may be an application package. Herein, theterm “application package” refers to a combination of data that includesa file for executing the application and other data associated with theapplication. Also, the application package may be a file in which thedata associated with the application is compressed. The applicationpackage may include the file for executing the application and at leastone of a resource file of the application and metadata of theapplication.

The file for executing the application may include at least one of anexecution file, a library, and a script generated by compiling a sourceor intermediate code. The resource file of the application is multimediadata displayed to the user when the application is executed and mayinclude at least one of an icon file, an audio file, a video file, animage file, and a text file. The metadata of the application may includeinformation describing characteristics of the application, such as aversion, a producer, and/or a driving environment of the application.

The server 11 may dynamically generate at least one of the file forexecuting the application and the application package with reference tothe device information.

An example of dynamically generating the file for executing theapplication according to an embodiment of the present invention isdescribed as follows. The file for executing the application may begenerated by compiling a source code of the purchased application withreference to the device information, so that the application can beinstalled in and driven by the first client 10.

According to an embodiment of the present invention, the server 11 maygenerate the file for executing the application by using an intermediatecode, which is described in detail as follows with reference to FIG. 2.

FIG. 2 is a block diagram for describing a method for generating anapplication, according to an embodiment of the present invention.

Referring to FIG. 2, the server 11 may generate an intermediate code 220by compiling a source code 210 of the application requested in step 140by the first client 10. In this case, if the first client 10 requestsfor the application while the server 11 has the intermediate code 220,which is a code generated independently from a client type, the server11 re-compiles the intermediate code 220 to generate an application,which can be installed in and driven by the first client 10, based onthe device information of the first client 10.

Since a plurality of applications 230 to 234, which can be installed inand driven by various types of clients, are generated from anintermediate code of a single application, the server 11 can providevarious applications, which correspond to the same source code 210, tothe various types of clients.

An example of dynamically generating the application package accordingto an embodiment of the present invention is described as follows.

In step 150, the server 11 may generate the application package byreferring to the device information. More specifically, the server 11may dynamically generate the file for executing the application byreferring to the device information of the first client 10 anddynamically generate the application package including the dynamicallygenerated file for executing the application.

For example, an execution file, which can be executed and driven by thefirst client 10, may be generated by compiling a source or intermediatecode of an application registered in the server 11 by a producer of theapplication, and an application package including the generatedexecution file may be generated. An application resource file (e.g., awallpaper) may be selected to meet the hardware (e.g., resolution) ofthe first client 10, and an application package including the selectedresource file may be generated. If a supporting language is Korean, anapplication package may be generated by selecting a resource fileassociated with the Korean language from among resource filescorresponding to various languages.

Alternatively, an execution file, which can be executed and driven bythe first client 10, may be selected based on the device information ofthe first client 10 from among a plurality of files for executing anapplication, which are previously generated to be installed in anddriven by various devices, and an application package including theselected execution file may be dynamically generated.

For example, if an application producer registers a plurality of filesfor executing an application in the server 11, the server 11 may selectan execution file, which can be executed and driven by the first client10, from among the plurality of files for executing an application anddynamically generate an application package including the selectedexecution file.

Furthermore, the server 11 may dynamically generate content requestedfor by the first client 10 in step 150. Content that can be reproducedby the first client 10 may be dynamically generated based on the deviceinformation of the first client 10 received in step 110, 120, or 140.The server 11 may store an original content and, when the first client10 requests the stored original content, may re-encode the originalcontent to a content that can be reproduced by the first client 10 withreference to the device information of the first client 10.

For example, the server 11 may hold original motion picture data of aresolution higher than the display resolution of the first client 10and, when the first client 10 requests for the content, the server mayre-encode the original motion picture data according to the displayresolution of the first device 10.

Referring back to FIG. 1, generation of the requested application orcontent in step 150 may be performed by an external server that isseparate from the server 11. Alternatively, step 150 may be a selectiveoperation in which a plurality of applications or a plurality ofcontents, which can be installed in and driven or reproduced by variousdevices, are previously stored in the server 11 before the first client10 requests for transmission of an application or a content.

If the first client 10 requests transmission of an application orcontent when a plurality of application packages or contents that can beinstalled in and driven or reproduced by various devices are stored in apredetermined storage device, an application package or contentcorresponding to the device information of the first client 10 may beselected and transmitted. In this case, the plurality of applicationpackages or the plurality of contents stored in the server 11 may bedirectly generated by an application producer or a content producer andregistered in the server 11 instead of being generated by the server 11so that the plurality of application packages or the plurality ofcontents can be installed in and driven or reproduced by variousdevices.

Referring back to FIG. 1, in step 160, the server 11 transmits, to thefirst client 10, the application or the content generated in step 150.

In this present example, a file for executing the application generatedin step 150 may be transmitted. According to another embodiment of thepresent invention, an application package including the file forexecuting the application generated in step 150 may be transmitted tothe first client 10.

FIG. 3 is a signaling diagram illustrating a method for transmitting andreceiving an application and/or content according to another embodimentof the present invention. More specifically, FIG. 3 illustrates a methodfor transmitting and receiving an application and/or content by sharinginformation regarding a purchase result between clients.

Referring to FIG. 3, in step 310, a second client 32 accesses a server31 to purchase a predetermined application or a predetermined content.

In step 320, the second client 32 selects one of at least oneapplication and/or at least one content provided by the server 31 andpurchases the selected application or content.

In step 330, the server 31 transmits information regarding a purchaseresult of step 320 to the second client 32. Steps 310, 320, and 330 areperformed in a manner similar to step 110, 120, and 130, respectively,of FIG. 1.

In step 340, the second client 32 transmits the information regardingthe purchase result, which has been received in step 330, to a firstclient 30. As described above, the information regarding the purchaseresult may include all information for verifying that a user of thesecond client 32 has purchased the predetermined application or thepredetermined content through proper procedures. The second client 32transmits the information regarding the purchase result to the firstclient 30 to share the information regarding the purchase result withthe first client 30 so that the first client 30 can use the applicationor the content purchased in step 320. Content description includinginformation regarding the purchase result may also be transmitted to thefirst client 30.

The transmission of the information regarding the purchase result may beperformed according to any of a variety of methods. For example, anetwork between the first client 30 and the second client 32 may beseparately established to transmit and receive the information regardingthe purchase result through the established network. Alternatively, theinformation regarding the purchase result may be transmitted through analready established network between first client 30 and the secondclient 32, such as a home network.

If the first client 30 and the second client 32 are located within apredetermined distance from each other, the information regarding thepurchase result may be transmitted and received through a short distancewireless network, such as Radio Frequency Identification (RFID),Bluetooth, or Zigbee compliant networks.

In step 350, the first client 30 accesses the server 31 to request thepurchased application or content. The first client 30 may access theserver 31 by using the same account as used in step 310 by the secondclient 32. In addition, when the first client 30 accesses the server 31,the first client 30 may transmit device information of the first client30 to the server 31.

In step 360, the first client 30 requests the server 31 to transmit theapplication or the content purchased in step 320, based on theinformation regarding the purchase result, which has been received instep 340. At this time, the information regarding the purchase result,which has been received in step 340, is transmitted to the server 31. Ifthe first client 30 requests the server 31 to transmit the content, thecontent description received from the second client 32 in step 340 maybe transmitted to the server 31. The device information of the firstclient 30 may alternatively be transmitted to the server 31 togetherwith the information regarding the purchase result in step 360, insteadof in step 350.

In step 370, the server 31 generates the application or contentrequested in step 360. Step 370 is performed in a manner similar to step150 of FIG. 1 in which a file for executing the application and/or anapplication package may be dynamically generated or a content that canbe reproduced by the first client 30 may be dynamically generated.

In step 380, the server 31 transmits the application or the contentgenerated in step 370 to the first client 30. As described above, theapplication package including the file for executing the application maybe transmitted.

FIG. 4 is a signaling diagram illustrating a method for transmitting andreceiving an application and/or content according to another embodimentof the present invention. More specifically, FIG. 4 illustrates a methodfor transmitting and receiving an application and/or content when theapplication and/or content are purchased and provided through differentservers (i.e., a first server 41 and a second server 42), in a methodfor transmitting and receiving the application and/or content similar tothat illustrated in FIG. 1. Although a plurality of servers areillustrated in FIG. 4, it is easily understood by those of ordinaryskill in the art that a server for purchasing an application or acontent and a server for providing the application or the content can beimplemented by a single physical server in accordance with embodimentsof the present invention.

In step 410, a first client 40 accesses the first server 41 and thesecond server 42 to purchase and receive a predetermined application ora predetermined content. The first client 40 may access the first server41 and the second server 42 through logging-in with an accountregistered in the first server 41 and the second server 42, by a user ofthe first client 40. In a manner similar step 110 described herein withreference to FIG. 1, the first client 40 may also transmit deviceinformation of the first client 40 to the first server 41 and/or thesecond server 42 in step 410.

In step 420, the first client 40 selects one of at least one applicationand/or at least one content provided by the second server 42 andpurchases the selected application or content. At this time, the firstclient 40 may request the first server 41 for a list of the at least oneapplication and/or the at least one content provided by the secondserver 42, receive the list from the first server 41, and select anapplication or a content from the requested list.

If the user selects a predetermined application or a predeterminedcontent, procedures for payment settlement are performed, and the userof the first client 40 may purchase the selected application or contentthrough various payment settlement methods.

The first client 40 may transmit the device information of the firstclient 40 to the first server 41 in step 420 instead of step 410.

In step 430, the first client 40 requests the second server 42 totransmit an application voucher of the application purchased in step 420(or a content voucher of the content purchased in step 420). Theapplication voucher corresponds to the information regarding thepurchase result, as described herein with reference to FIGS. 1 and 3.The first client 40 may also request a content description including thecontent voucher.

In step 440, the second server 42 accesses the first server 41 todetermine whether the transmission request of the application voucher orthe content voucher received from the first client 40 is proper. At thistime, the second server 42 determines whether the first client 40 haspurchased the application or the content, by searching for purchaseinformation, which is stored in the first server 41, based on theaccount used when the first client 40 accesses in step 410. Morespecifically, the second server 42 determines whether the first client40 has purchased the application by referring to the account stored inthe first server 41 as the purchase information and a purchase historycorresponding to the account.

In step 450, the second server 42 transmits information, i.e., theapplication voucher or the content voucher, regarding a purchase resultof the application or the content, which has been purchased in step 420,based on a result of the determination performed in step 440.

In step 460, the first client 40 requests the second server 42 totransmit the application or the content, which has been purchased instep 420, based on the application voucher or the content voucher, whichhas been received in step 450. At this time, the first client 40 maytransmit the application voucher or the content voucher, which has beenreceived in step 450, to the second server 42. A content descriptionincluding the content voucher may be transmitted to the second server42.

If the device information of the first client 40 has not beentransmitted to the first server 41 and/or the second server 42 in step410, the first client 40 may transmit the device information of thefirst client 40 together with the application voucher or the contentvoucher to the second server 42 in step 460.

In step 470, the second server 42 generates an application, which can beinstalled in and driven by the first client 40, based on the deviceinformation of the first client 40 received in step 410, 420, or 460.Step 470 is performed in a manner similar to step 150 described hereinwith reference to FIG. 1, in which a file for executing the applicationand/or an application package may be dynamically generated. Similarly,content that can be reproduced by the first client 40 may be dynamicallygenerated.

In step 480, the second server 42 transmits the application or contentgenerated in step 470 to the first client 40. As described above, theapplication may be transmitted to the first client 40 in the form of anapplication package including a file for executing the application.

FIG. 5 is a signaling diagram illustrating a method for transmitting andreceiving at least one of an application and content according toanother embodiment of the present invention. More specifically, FIG. 5illustrates a method for transmitting and receiving at least one of anapplication and content when the application and/or content is purchasedand provided through different servers, i.e., a first server 51 and asecond server 52, in a manner similar to the method for transmitting andreceiving at least one of an application and content described hereinwith reference to FIG. 3. Although a plurality of servers areillustrated in FIG. 5, it is easily understood by those of ordinaryskill in the art that a server for purchasing an application or acontent and a server for providing the application or the content can beimplemented by a single physical server in accordance with embodimentsof the present invention.

Referring to FIG. 5, in step 510, a second client 53 accesses the firstserver 51 to purchase a predetermined application or a predeterminedcontent. At this time, the second client 53 may access the first server51 by logging-in with an account registered in the first server 51 by auser of the second client 53.

In step 520, the second client 53 selects one of at least oneapplication and/or at least one content provided by the second server 52and purchases the selected application or content.

In step 530, the second client 53 requests the second server 52 totransmit an application voucher or a content voucher of the applicationor the content purchased in step 520. Steps 510, 520, and 530 areperformed in a manner similar to steps 410, 42, and 430, respectively,described herein with reference to FIG. 4. A content descriptionincluding the content voucher may also be requested.

In step 540, the second server 52 accesses the first server 51 todetermine whether the transmission request of the application voucher orthe content voucher, which has been received from the second client 53,is a proper request. At this time, the second server 52 determineswhether the second client 53 has purchased the application or thecontent, by searching for purchase information, which is stored in thefirst server 51, based on the account used when the second client 53accesses the first server 51 in step 510.

In step 550, the second server 52 transmits information (i.e., theapplication voucher or the content voucher) regarding a purchase resultof the purchased application or content, based on a result of thedetermination performed in step 540. A content description including thecontent voucher may also be transmitted.

In step 560, the second client 53 transmits the received applicationvoucher or content voucher to the first client 50. At this time, thesecond client 53 transmits the received application voucher or contentvoucher, to the first client 50, to share the purchase information withthe first client 50, so that the first client 50 can use the applicationor the content purchased by the second client 53. A content descriptionincluding the content voucher may also be transmitted to the firstclient 50.

In step 570, the first client 50 accesses the second server 52 torequest the purchased application or content. At this time, the firstclient 50 may access the second client 53 by using the same account asused in step 510 by the second client 53 to access the second server 52.When the first client 50 accesses the second server 52, the first client50 may transmit device information of the first client 50 to the secondserver 52.

In step 580, the first client 50 requests the second server 52 totransmit the purchased application or content, based on the receivedapplication voucher or content voucher. At this time, the first client50 may transmit the received application voucher or content voucher tothe second server 52. According to an alternative embodiment of thepresent invention, the first client 50 may transmit the deviceinformation of the first client 50 together with the application voucheror content voucher to the second server 52 in step 580 instead of step570. The content purchased in step 520 may be requested by transmittinga content description including the content voucher to the second server52.

In step 590, the second server 52 generates an application, which can beinstalled in and driven by the first client 50, based on the receiveddevice information of the first client 50. Step 590 is performed in amanner similar to step 150 described herein with reference to FIG. 1, inwhich a file for executing the application and/or an application packagemay be dynamically generated. Alternatively, if content is purchased,content that can be reproduced by the first client 50 may be dynamicallygenerated based on the received device information of the first client50.

In step 592, the second server 52 transmits the application or thecontent generated in step 590 to the first client 50. As describedabove, the application package including the file for executing theapplication may be transmitted.

FIG. 6 is a block diagram illustrating an apparatus for receiving atleast one of an application and content in a client, according to anembodiment of the present invention.

Referring to FIG. 6, an apparatus 600 for receiving at least one of anapplication and content includes a purchase information management unit610 and an application/content management unit 620.

The purchase information management unit 610 receives informationregarding a purchase result of a predetermined application or apredetermined content from a server or another client. If thepredetermined application or content is purchased by directly accessingthe server through the client including the apparatus 600, theinformation regarding the purchase result of the application or thecontent is received from the server; otherwise if the application or thecontent is purchased through another client, the information regardingthe purchase result is received from the other client. As describedabove, the information regarding the purchase result may includeinformation for verifying that a user of the apparatus 600 has purchasedthe predetermined application or the predetermined content throughproper procedures, and this verification information may be in the formof an application voucher or a content voucher. The content voucher mayalso be included in a content description.

The application/content management unit 620 requests the server totransmit the predetermined application or content, based on theinformation regarding the purchase result received from the purchaseinformation management unit 610, and receives the application or thecontent from the server in response to the request. Transmission of thepredetermined content may be requested by transmitting a contentdescription including the content voucher to the server. Whentransmission of the application or the content is requested, deviceinformation of the client 10, 30, 40, or 50 (as described herein withreference to FIGS. 1 through 5) including the apparatus 600 may also betransmitted. The server generates an application by compiling a sourceor intermediate code of the application according to the transmitteddevice information so that the application can be installed in anddriven by the client 10, 30, 40, or 50 and transmits the generatedapplication to the application/content management unit 620. Theapplication may be an application package including a file for executingthe application. Alternatively, if content is purchased, the server mayre-encode the purchased content so that the content may be reproduced bythe client 10, 30, 40, or 50 and may transmit the re-encoded content tothe application/content management unit 620.

When the application/content management unit 620 requests thetransmission of the application or the content, the application/contentmanagement unit 620 may access the server by using the same account as auser account used to purchase the application or the content andtransmit, to the server, the information regarding the purchase resultand the device information of the client 10, 30, 40, or 50. By accessingthe server by using the same account as the user account used topurchase the application or the content, a server for providing theapplication or the content may check a purchase history corresponding tothe user account to determine whether to server generate an applicationand/or content.

FIG. 7 is a block diagram illustrating an apparatus for providing atleast one of an application and content in a server, according to anembodiment of the present invention.

Referring to FIG. 7, an apparatus 700 for providing at least one of anapplication and content includes a purchase information management unit710 and a providing unit 720, which includes a generator 722 and atransmitter 724.

The purchase information management unit 710 transmits informationregarding a purchase result to a client in response to a request fromthe client. More specifically, if the first client 10 or the secondclient 32 (described herein with reference to FIGS. 1 and 3), which haspurchased an application or a content, requests information regarding apurchase result, the purchase information management unit 710 transmitsthe information regarding the purchase result for the first client 10 orthe second client 32, which will use this information for a request totransmission the purchased application or content.

The purchase information management unit 710 also receives theinformation regarding the purchase result as a transmission request ofthe application or the content from the first client 10 or 30, which hasthe information regarding the purchase result. Alternatively, if contentis purchased, a content description including information regarding thepurchase result of the purchased content may be received. Morespecifically, a device, i.e., the first client 10 of FIG. 1, which hasdirectly received a purchase result from a server, may requesttransmission of an application or content (or a device, i.e., the secondclient 32 of FIG. 3, which has received a purchase result from anotherclient 32), may request for transmission of an application or content.

The providing unit 720 receives device information of the first client10 or the first client 30 from the first client 10 or the first client30 and provides an application or content based on the received deviceinformation and the information regarding the purchase result, which hasbeen received from the purchase information management unit 710. Morespecifically, the application providing unit 720 determines based on theinformation regarding the purchase result, which has been received fromthe purchase information management unit 710, whether the application orthe content is provided and provides the application, which can beinstalled in and driven by the first client 10 or the first client 30,based on the received device information of the first client 10 or thefirst client 30, or the content, which can be reproduced by the firstclient 10 or the first client 30.

The generator 722 generates an application that can be installed in anddriven by the first client 10 or the first client 30, based on thedevice information received from the first client 10 or the first client30, or content that can be reproduced by the first client 10 or thefirst client 30. More specifically, the generator 722 generates theapplication can be installed in and driven by the first client 10 or thefirst client 30, by compiling a source or intermediate code of theapplication based on the device information, or generates the contentthat can be reproduced by the first client 10 or the first client 30.

The transmitter 724 transmits the application or the content generatedby the application generator 722 to the first client 10 or the firstclient 30. The transmitter 724 may transmit an application packageincluding a file for executing the application to the first client 10 orthe first client 30. According to an embodiment of the presentinvention, the transmitter 724 may hold a plurality of applications or aplurality of contents that may be used in various devices in advance andmay select and transmit an application or a content that may be used bythe client 10 or 30 based on the device information received by thepurchase information management unit 710.

FIG. 8 is a block diagram illustrating a server for purchasing at leastone of an application and content and a server for providing at leastone of the application and the content according to an embodiment of thepresent invention. More specifically, FIG. 8 illustrates two differentservers according to an example an application and/or content arepurchased and provided through the two different servers describedherein with reference to FIGS. 4 and 5. Although a plurality of serversare shown in FIG. 8, it is easily understood by those of ordinary skillin the art that a server for purchasing an application or a content anda server for providing the application or the content can be implementedby a single physical server in accordance with embodiments of thepresent invention.

Referring to FIG. 8, the first server 41 or 51 for purchasing anapplication or content includes an account management unit 810, anapplication/content management unit 820, and a purchasing unit 830. Thesecond server 42 or 52 includes a purchase information management unit840 and a providing unit 850.

The account management unit 810 manages registration of a user accountand logging-in using the user account. More specifically, the accountmanagement unit 810 controls access of clients to the first server 41 or51 by registering user accounts and passwords.

The account management unit 810 also manages an application purchasehistory or a content purchase history of a client. More specifically,the account management unit 810 stores each user account and a purchasehistory corresponding to each user account so that the second server 42or 52 can refer to the stored information.

The application/content management unit 820 provides informationregarding applications or contents, which is provided by the secondserver 42 or 52, to the client 40 or 53. More specifically, theapplication/content management unit 820 provides a list of applicationsor a list of contents, which is provided by the second server 42 or 52,to the client 40 or 53. In this case, the application/content managementunit 820 may receive device information corresponding to the client 40or 53 from the account management unit 810 and provide a list ofapplications, which can be installed in and driven by the client 40 or53, or a list of contents, which can be reproduced by the client 40 or53, to the client 40 or 53 based on the received device information.

The purchasing unit 830 controls application purchase procedures orcontent purchase procedures corresponding to requests from the client 40or 53. More specifically, when the client 40 or 53 selects apredetermined application or predetermined content based on the listtransmitted from the application/content management unit 820, thepurchasing unit 830 performs payment settlement procedures correspondingto the selected application or the selected content.

Upon completion of the payment settlement procedures, the purchasingunit 830 transmits a purchase result to the account management unit 810to update a purchase history of the client 40 or 53.

The purchase information management unit 840 transmits informationregarding a purchase result to a client in response to a request of theclient. More specifically, when the first client 40 or the second client53, which has purchased an application or content, requests informationregarding a purchase result, the purchase information management unit840 transmits the information regarding the purchase result to the firstclient 40 or the second client 53 so that the first client 40 or thesecond client 53 can use this information for a request to transmit thepurchased application or content. A content description includinginformation regarding the purchase result of the content may also betransmitted to the first client 40 or the second client 53.

The purchase information management unit 840 also receives theinformation regarding the purchase result as a transmission request ofthe application or the content from the first client 40 or 50, which hasthe information regarding the purchase result. More specifically, adevice that has directly received a purchase result from a server (i.e.,the first client 40), may request transmission of a purchasedapplication or content. Alternatively, a device (that has received apurchase result from another client 53 (i.e., the first client 50), mayrequest transmission of a purchased application or content.

The application providing unit 850 receives device information of theclient 40 or 50 from the client 40 or 50 and provides an application orcontent based on the received device information and the informationregarding the purchase result, which has been received from the purchaseinformation management unit 840. More specifically, the providing unit850 determines, based on the received information regarding the purchaseresult, whether to provide the requested application or content, andprovides an application that can be installed in and driven by theclient 40 or 50, or content that can be reproduced by the client 40 or50, based on the received device information of the client 40 or 50. Asdescribed with reference to FIG. 7, the providing unit 850 may generatethe application that can be installed in and driven by the client 40 or50, based on the device information received from the client 40 or 50and transmit the generated application to the client 40 or 50.

According to embodiments of the present invention, since an applicationor a content purchased by a user can be used in a plurality of differentclients, the purchase and use of applications/contents of the user canbe promoted. In addition, since a single application can be sold tousers of various clients by using an intermediate code independent froma specific client, application developers may be lead to produceapplications.

While embodiments of the invention are shown and described herein withreference to particular embodiments thereof, it will be understood bythose skilled in the art that various changes in form and details may bemade therein without departing from the spirit and scope of theinvention as defined by the appended claims. Therefore, the scope of theinvention is defined not by the detailed description of the inventionbut by the appended claims, and all differences within the scope will beconstrued as being included in the present invention. In addition, asystem according to the present invention can be implemented ascomputer-readable codes in a computer-readable recording medium.

For example, an application receiving apparatus and an applicationproviding apparatus according to an embodiment of the present inventionmay include a bus connected with each unit of the apparatuses shown inFIGS. 6, 7, and 8 and at least one processor connected with the bus. Inaddition, a memory connected with the at least one processor may beincluded to perform commands by being coupled with the bus to store thecommands, received messages, and generated messages.

The term “computer-readable recording medium” herein refers to any datastorage device that can store data that can be thereafter read by acomputer system. Examples of the computer-readable recording mediuminclude Read-Only Memory (ROM), Random-Access Memory (RAM), Compact Disc(CD)-ROMs, magnetic tapes, floppy disks, optical data storage devices,etc. Computer-readable recording mediums according to embodiments of thepresent invention may also be distributed over network-coupled computersystems so that the computer-readable code is stored and executed in adistributed fashion.

What is claimed is:
 1. A method for receiving at least one of anapplication and content by a first client, the method comprising:receiving, by a hardware processor of the first client, informationregarding a purchase result of the at least one of the application andthe content, from a second client that purchases the at least one of theapplication and the content from a first server and receives thepurchase result from a second server; transmitting, by the hardwareprocessor, the information regarding the purchase result and deviceinformation of the first client to the second server providing the atleast one of the application and the content; and receiving, by thehardware processor, the at least one of the application and the contentfrom the second server, in response to the transmitted informationregarding the purchase result and the device information, wherein thesecond server transmits, to the first client, a list of applicationsthat can be installed in and driven by the first client or a list ofcontent that can be reproduced by the first client, with reference tothe device information of the first client, which has been received fromthe first client, and wherein the second server compiles a source codeand generates an intermediate code, which is a device independent codeof the at least one of the application and the content based on thedevice information of the first client, independently from a clienttype, and recompiles the intermediate code to generate an application,which can be installed in and driven by the first client based on thedevice information of the first client.
 2. The method of claim 1,wherein receiving the at least one of the application and the contentincludes receiving an application package, and wherein the applicationpackage includes a file for executing the application, and at least oneof a resource file of the application and metadata of the application.3. The method of claim 2, wherein the application package is dynamicallygenerated by the second server based on the device information of thefirst client.
 4. The method of claim 3, wherein the file for executingthe application is generated by compiling the source code of theapplication in the second server based on the device information of thefirst client such that the application can be driven by the firstclient.
 5. The method of claim 3, wherein the file for executing theapplication is generated by compiling the intermediate code that isgenerated by compiling the source code of the application, based on thedevice information of the first client so that the application can bedriven by the first client.
 6. The method of claim 3, wherein the filefor executing the application is selected based on the deviceinformation of the first client from among a plurality of files forexecuting the application, and wherein the plurality of files areregistered in the second server by a producer of the application suchthat the application can be driven by various devices.
 7. The method ofclaim 2, wherein the application package is selected based on the deviceinformation of the first client from among a plurality of applicationpackages registered in the second server by a producer of theapplication such that the application can be driven by various devices.8. The method of claim 2, wherein the file for executing the applicationincludes at least one of an execution file, a library, and a script. 9.The method of claim 2, wherein the resource file of the applicationincludes at least one of an icon file, an audio file, a video file, animage file, and a text file.
 10. A method for providing at least one ofan application and content by a second server, the method comprising:receiving, by a hardware processor of the second server, from a firstclient, information regarding a purchase result of the at least one ofthe application and the content and device information of the firstclient, wherein the first client received the information regarding thepurchase result from a second client that purchases the at least one ofthe application and the content from a first server and receives thepurchase result from the second server; and transmitting, by thehardware processor, the at least one of the application and the contentto the first client in response to the received information regardingthe purchase result and the device information, wherein the secondserver transmits, to the first client, a list of applications that canbe installed in and driven by the first client or a list of content thatcan be reproduced by the first client, with reference to the deviceinformation of the first client, which has been received from the firstclient, and wherein the second server compiles a source code andgenerates an intermediate code, which is a device independent code ofthe at least one of the application and the content based on the deviceinformation of the first client, independently from a client type, andrecompiles the intermediate code to generate an application, which canbe installed in and driven by the first client based on the deviceinformation of the first client.
 11. The method of claim 10, whereintransmitting the at least one of the application and the contentincludes transmitting an application package, and wherein theapplication package includes a file for executing the application, andat least one of a resource file of the application and metadata of theapplication.
 12. The method of claim 11, wherein the application packageis dynamically generated by the second server based on the deviceinformation of the first client.
 13. The method of claim 12, wherein thefile for executing the application is generated by compiling the sourcecode of the application in the second server based on the deviceinformation of the first client such that the application can be drivenby the first client.
 14. The method of claim 12, wherein the file forexecuting the application is generated by compiling the intermediatecode that is generated by compiling the source code of the application,based on the device information of the first client so that theapplication can be driven by the first client.
 15. The method of claim12, wherein the file for executing the application is selected based onthe device information of the first client from among a plurality offiles for executing the application, and wherein the plurality of filesare registered in the second server by a producer of the application sothat the application can be driven by various devices.
 16. The method ofclaim 11, wherein the application package is selected based on thedevice information of the first client from among a plurality ofapplication packages registered in the second server by a producer ofthe application such that the application can be driven by variousdevices.
 17. An apparatus of a first client for receiving at least oneof an application and content, the apparatus comprising: a hardwareprocessor configured to receive, from a second client, informationregarding a purchase result of the at least one of the application andthe content, wherein the second client requested and received theinformation from a second server after purchasing the at least one ofthe application and the content from a first server, transmit theinformation regarding the purchase result and device information of thefirst client to the second server, and receive the at least one of theapplication and the content from the second server in response to thetransmitted information regarding the purchase result and the deviceinformation, wherein the second server transmits, to the first client, alist of applications that can be installed in and driven by the firstclient or a list of content that can be reproduced by the first client,with reference to the device information of the first client, which hasbeen received from the first client, and wherein the second servercompiles a source code and generates an intermediate code, which is adevice independent code of the at least one of the application and thecontent based on the device information of the first client,independently from a client type, and recompiles the intermediate codeto generate an application, which can be installed in and driven by thefirst client base don the device information of the first client. 18.The apparatus of claim 17, wherein the processor receives an applicationpackage, and wherein the application package includes a file forexecuting the application, and at least one of a resource file of theapplication and metadata of the application.
 19. An apparatus of asecond server for providing at least one of an application and content,the apparatus comprising: a hardware processor configured to receiveinformation regarding a purchase result regarding the at least one ofthe application and the content from a first client, wherein the firstclient received the information regarding the purchase result from asecond client that purchases the at least one of the application and thecontent from a first server and receives the purchase result from thesecond server, and transmit the at least one of the application and thecontent to the first client in response to the received informationregarding the purchase result and device information of the firstclient, wherein the second server transmits, to the first client, a listof applications that can be installed in and driven by the first clientor a list of content that can be reproduced by the first client, withreference to the device information of the first client, which has beenreceived from the first client, and wherein the second server compiles asource code and generates an intermediate code, which is a deviceindependent code of the at least one of the application and the contentbased on the device information of the first client, independently froma client type, and recompiles the intermediate code to generate anapplication, which can be installed in and driven by the first clientbased on the device information of the first client.
 20. The apparatusof claim 19, wherein the processor transmits an application package, andthe application package includes a file for executing the application,and at least one of a resource file of the application and metadata ofthe application.
 21. A non-transitory computer-readable recording mediumstoring a computer-readable program for executing the method of claim 1.22. A non-transitory computer-readable recording medium storing acomputer-readable program for executing the method of claim 10.